<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">

    <script>
        function ll() {
            let a = 2;
            console.log("this is ll func a:", a)//  作用域不一样正常
        }

        function llfor() {
            for (let i = 0; i < 5; i++) {
                let i = 111 // todo 这里会打印5个111 ， for每次循环会创建新的作用域，所以 let i =111 ,i在子作用域
                console.log(i)

            }
        }

        window.onload = function () {
            // 1. 变量
            let a = 1;
            // 变量在同一作用域不能同时使用
            // const a=1;
            console.log(a)
            ll();
            llfor();
            { //父作用域
                let b = 1
                console.log("父作用域b:", b)
                {
                    let b = 11
                    console.log("子作用域b:", b)
                }
            }

            // 2. 常量
            const aa = 1
            console.log("const aa:", aa)
            // aa=5 // 这里会报错,常量不能修改
            // console.log("const aa:",aa)   
            {
                const aa = 1 // 不同作用域可以
                console.log("const func aa:", aa)
            }


        }
    </script>
</head>
<body>


</body>
</html>